- 19 Jul 2024
- 2 Minutes to read
- Print
- DarkLight
Repository Overview
- Updated on 19 Jul 2024
- 2 Minutes to read
- Print
- DarkLight
Overview
Decisions Repository Server provides a centralized location to promote and store changes to Designer Projects, acting as a version control. The diagram below emphasizes the ability to deploy projects from the repository, enabling seamless sharing across various environments. Unlike a traditional Decisions Server, a Repository Server is used for pulling and pushing the changes made to projects.
Features and Highlights
- Deploy Decisions Projects/Resources to different environments from a centralized location.
- Store and track changes to Projects through Revisions.
- Rollback changes made to Projects to specific Revisions.
- Compare differences between a Project in a linked environment to the copy stored in the Repository.
- Maintain different versions of a Project through Branches.
Repository Actions
Once a repository environment is connected, Repository Actions become available to Designers. These actions can be found by right-clicking a Project Folder or Designer Element > Designer Repository, and provide the tools needed to move a Project between environments.
Any Designer Element, such as Flows or Rules, checked into a Repository will be labeled as a Resource.
Repository Actions | Description |
---|---|
Checkin Changes for Project | Checks in recent changes made to the Project to the copy stored on the Repository. |
Checkout Updates for Project | Check out a copy of the Project from the Repository. |
Show Project | Displays any recent changes for a specific Project on the environment. |
Show All Recent Changes | Highlights any recent changes to all Projects made on the environment. |
Revert Changes in Project | Reverts any recent changes to a Project to the copy stored on the Repository. |
Add Dependencies to | Searches for any dependencies that need to be added to the associated Project. |
Remove From Project | Removes the selected element from the Project. |
Checkout Project | Lists all current Projects that can be checked out from the Repository. |
Open Repository Server | Opens the Repository server on a new tab. |
Deleting Resources
One of the advantages of using a Repository to manage deployments is that it can delete resources from Projects as part of a code migration.
- When checking in a Project with deleted Designer Elements, the related resource will be marked as deleted in the Repository.
- This method is recommended for deleting items from a Project in the Repository.
- When checking out a Project, resources marked as deleted will be removed from the server where the check-out occurs.
- The resource will remain in the Repository in a deleted state. The item will not be checked in.
Branches
Repository Branches are used to create a copy of a Project at a snapshot in time. Each Branch maintains a version of all the resources of the Project independently, allowing multiple versions of a Designer Element to exist within each branch.
Connected servers can only point to one Branch for a Project at a time. Using Branches does not allow connected servers to run two versions of the same Designer Element simultaneously.
Decisions Repository Trunk / Branch structure is set up to do all new development work in Trunk and make new Branches as needed. This is opposite to most traditional Repositories, where work is done in a Branch and Merged back to the Trunk.
Revisions
A Revision is created each time a change to a Project is checked in/committed to a Repository. Revisions are records of changes made to the Project at the time, similar to Checkpoints, but for all Designer Elements in a Project.
Revisions can be used to create branches for and revert/roll back to earlier versions of the project within the Repository.